package com.whf15.o2o.interceptor.shopadmin;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.whf15.o2o.entity.PersonInfo;



/**   
* 项目名称：o2o   
* 类名称：ShopLoginInterceptor   
* 类描述：   店家管理系统登录验证拦截器
* @version 
* @author whfo 
* @date 2021年9月5日 下午8:47:43        
*/
public class ShopLoginInterceptor extends HandlerInterceptorAdapter {
	/**
	* 方法描述：主动做事前拦截面积用户操作发生前，改写preHandle里的逻，进行拦截
	* @author whfo 
	* @date 2021年9月5日 下午8:46:55 
	* @version 
	*/
	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		//从session中取出用户信息来
		Object userObj = request.getSession().getAttribute("user");
		if (userObj != null) {
			//若用户信息不为空，则将session里的用户信息转换成PersonInfo实体类对象
			PersonInfo user = (PersonInfo) userObj;
			//做空值判断，确保userId不为空并且该账号的可用状态为1，并且用户类型为店家
			if (user != null && user.getUserId() != null
					&& user.getUserId() > 0 && user.getEnableStatus() == 1)
				//若通过验证则返回true，拦截器返回true之后，用户接下来的操作得以正常执行
				return true;
		}
		//若不满足登录验证，则直接跳转到账户登录页面
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("<script>");
		out.println("window.open ('" + request.getContextPath()
				+ "/local/ownerlogin？usertype=2','_self')");
		out.println("</script>");
		out.println("</html>");
		return false;
	}
}
